{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vKadZFQ2IdJb"
      },
      "source": [
        "# Fine-tuning SmolVLM with TRL on a consumer GPU\n",
        "\n",
        "_Authored by: [Sergio Paniego](https://github.com/sergiopaniego)_\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "JATmSI8mcyW2"
      },
      "source": [
        "In this recipe, we’ll demonstrate how to fine-tune a smol 🤏 [Vision Language Model (VLM)](https://huggingface.co/blog/vlms) using the Hugging Face ecosystem, leveraging the powerful [Transformer Reinforcement Learning library (TRL)](https://huggingface.co/docs/trl/index). This step-by-step guide will enable you to customize VLMs for your specific tasks, even on consumer GPUs.\n",
        "\n",
        "### 🌟 Model & Dataset Overview\n",
        "\n",
        "In this notebook, we will fine-tune the **[SmolVLM](https://huggingface.co/blog/smolvlm)** model using the **[ChartQA](https://huggingface.co/datasets/HuggingFaceM4/ChartQA)** dataset. SmolVLM is a highly performant and memory-efficient model, making it an ideal choice for this task. The **ChartQA dataset** contains images of various chart types paired with question-answer pairs, offering a valuable resource for enhancing the model's **visual question-answering (VQA)** capabilities. These skills are crucial for a range of practical applications, including data analysis, business intelligence, and educational tools.\n",
        "\n",
        "💡 _Note:_ The instruct model we are fine-tuning has already been trained on this dataset, so it is familiar with the data. However, this serves as a valuable educational exercise for understanding fine-tuning techniques. For a complete list of datasets used to train this model, check out [this document](https://huggingface.co/HuggingFaceTB/SmolVLM-Instruct/blob/main/smolvlm-data.pdf).\n",
        "\n",
        "### 📖 Additional Resources\n",
        "\n",
        "Expand your knowledge of Vision Language Models and related tools with these resources:\n",
        "\n",
        "- **[Multimodal Recipes in Cookbook](https://huggingface.co/learn/cookbook/index):** Explore practical recipes for multimodal models, including RAG pipelines and fine-tuning. We already have [a recipe for fine-tuning a VLM with TRL](https://huggingface.co/learn/cookbook/fine_tuning_vlm_trl), so refer to it for more details.\n",
        "- **[TRL Community Tutorials](https://huggingface.co/docs/trl/main/en/community_tutorials):** A treasure trove of tutorials to deepen your understanding of TRL and its applications.\n",
        "\n",
        "With these resources, you’ll be equipped to dive deeper into the world of VLMs and push the boundaries of what they can achieve!\n",
        "\n",
        "This notebook is tested using a L4 GPU.\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "s9ukovXwkt86"
      },
      "source": [
        "![Smol VLMs comparison](https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/smolvlm_ecosystem.png)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "gSHmDKNFoqjC"
      },
      "source": [
        "## 1. Install Dependencies\n",
        "\n",
        "Let’s start by installing the essential libraries we’ll need for fine-tuning! 🚀\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "GCMhPmFdIGSb"
      },
      "outputs": [],
      "source": [
        "!pip install  -U -q transformers trl datasets bitsandbytes peft accelerate\n",
        "# Tested with transformers==4.46.3, trl==0.12.1, datasets==3.1.0, bitsandbytes==0.45.0, peft==0.13.2, accelerate==1.1.1"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "x6fAqSnKDtKg"
      },
      "outputs": [],
      "source": [
        "!pip install -q flash-attn --no-build-isolation"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "V0-2Lso6wkIh"
      },
      "source": [
        "Authenticate with your Hugging Face account to save and share your model directly from this notebook 🗝️."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "xcL4-bwGIoaR"
      },
      "outputs": [],
      "source": [
        "from huggingface_hub import notebook_login\n",
        "\n",
        "notebook_login()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "g9QXwbJ7ovM5"
      },
      "source": [
        "## 2. Load Dataset 📁\n",
        "\n",
        "We’ll load the [HuggingFaceM4/ChartQA](https://huggingface.co/datasets/HuggingFaceM4/ChartQA) dataset, which provides chart images along with corresponding questions and answers—perfect for fine-tuning visual question-answering models."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "LBWqnXkcTN-s"
      },
      "source": [
        "We’ll create a system message to make the VLM act as a chart analysis expert, giving concise answers about chart images."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "IBvKAlXhI46X"
      },
      "outputs": [],
      "source": [
        "system_message = \"\"\"You are a Vision Language Model specialized in interpreting visual data from chart images.\n",
        "Your task is to analyze the provided chart image and respond to queries with concise answers, usually a single word, number, or short phrase.\n",
        "The charts include a variety of types (e.g., line charts, bar charts) and contain colors, labels, and text.\n",
        "Focus on delivering accurate, succinct answers based on the visual information. Avoid additional explanation unless absolutely necessary.\"\"\""
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "z8UpL5ZxTakm"
      },
      "source": [
        "We’ll format the dataset into a chatbot structure, with the system message, image, user query, and answer for each interaction.\n",
        "\n",
        "💡For more tips on using this model, check out the [Model Card](https://huggingface.co/HuggingFaceTB/SmolVLM-Instruct)."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "XG8NuzqjjbgI"
      },
      "outputs": [],
      "source": [
        "def format_data(sample):\n",
        "    return [\n",
        "        {\n",
        "            \"role\": \"system\",\n",
        "            \"content\": [\n",
        "                {\n",
        "                    \"type\": \"text\",\n",
        "                    \"text\": system_message\n",
        "                }\n",
        "            ],\n",
        "        },\n",
        "        {\n",
        "            \"role\": \"user\",\n",
        "            \"content\": [\n",
        "                {\n",
        "                    \"type\": \"image\",\n",
        "                    \"image\": sample[\"image\"],\n",
        "                },\n",
        "                {\n",
        "                    \"type\": \"text\",\n",
        "                    \"text\": sample['query'],\n",
        "                }\n",
        "            ],\n",
        "        },\n",
        "        {\n",
        "            \"role\": \"assistant\",\n",
        "            \"content\": [\n",
        "                {\n",
        "                    \"type\": \"text\",\n",
        "                    \"text\": sample[\"label\"][0]\n",
        "                }\n",
        "            ],\n",
        "        },\n",
        "    ]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "IQ2zuDeGThNe"
      },
      "source": [
        "For educational purposes, we’ll load only 10% of each split in the dataset. In a real-world scenario, you would load the entire dataset."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "QFe_A78aIwK8"
      },
      "outputs": [],
      "source": [
        "from datasets import load_dataset\n",
        "\n",
        "dataset_id = \"HuggingFaceM4/ChartQA\"\n",
        "train_dataset, eval_dataset, test_dataset = load_dataset(dataset_id, split=['train[:10%]', 'val[:10%]', 'test[:10%]'])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "I0X4ZajcPV10"
      },
      "source": [
        "Let’s take a look at the dataset structure. It includes an image, a query, a label (the answer), and a fourth feature that we’ll be discarding."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "o2UKZj15jGwv",
        "outputId": "773e9dc2-4477-47e1-8992-7e777c786a0c"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "Dataset({\n",
              "    features: ['image', 'query', 'label', 'human_or_machine'],\n",
              "    num_rows: 2830\n",
              "})"
            ]
          },
          "execution_count": 7,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "train_dataset"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "1edUqNGWTtjA"
      },
      "source": [
        "Now, let’s format the data using the chatbot structure. This will set up the interactions for the model."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "oSHNqk0dkxii"
      },
      "outputs": [],
      "source": [
        "train_dataset = [format_data(sample) for sample in train_dataset]\n",
        "eval_dataset = [format_data(sample) for sample in eval_dataset]\n",
        "test_dataset = [format_data(sample) for sample in test_dataset]"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "dlp3WnfEuftT",
        "outputId": "7bf3b2df-005a-4960-b7f8-07b7c24b560e"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "[{'role': 'system',\n",
              "  'content': [{'type': 'text',\n",
              "    'text': 'You are a Vision Language Model specialized in interpreting visual data from chart images.\\nYour task is to analyze the provided chart image and respond to queries with concise answers, usually a single word, number, or short phrase.\\nThe charts include a variety of types (e.g., line charts, bar charts) and contain colors, labels, and text.\\nFocus on delivering accurate, succinct answers based on the visual information. Avoid additional explanation unless absolutely necessary.'}]},\n",
              " {'role': 'user',\n",
              "  'content': [{'type': 'image',\n",
              "    'image': <PIL.PngImagePlugin.PngImageFile image mode=RGB size=308x369>},\n",
              "   {'type': 'text',\n",
              "    'text': 'Is the rightmost value of light brown graph 58?'}]},\n",
              " {'role': 'assistant', 'content': [{'type': 'text', 'text': 'No'}]}]"
            ]
          },
          "execution_count": 9,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "train_dataset[200]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "YY1Y_KDtoycB"
      },
      "source": [
        "## 3. Load Model and Check Performance! 🤔\n",
        "\n",
        "Now that we’ve loaded the dataset, it’s time to load the [HuggingFaceTB/SmolVLM-Instruct](https://huggingface.co/HuggingFaceTB/SmolVLM-Instruct), a 2B parameter Vision Language Model (VLM) that offers state-of-the-art (SOTA) performance while being efficient in terms of memory usage.\n",
        "\n",
        "For a broader comparison of state-of-the-art VLMs, explore the [WildVision Arena](https://huggingface.co/spaces/WildVision/vision-arena) and the [OpenVLM Leaderboard](https://huggingface.co/spaces/opencompass/open_vlm_leaderboard), where you can find the best-performing models across various benchmarks.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "b1gKdVq8guTo"
      },
      "source": [
        "![updated_fine_tuning_smol_vlm_diagram.png]()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "PCJhM6tCw4lq"
      },
      "outputs": [],
      "source": [
        "import torch\n",
        "from transformers import Idefics3ForConditionalGeneration, AutoProcessor\n",
        "\n",
        "model_id = \"HuggingFaceTB/SmolVLM-Instruct\""
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2HobU2iPUDWL"
      },
      "source": [
        "Next, we’ll load the model and the tokenizer to prepare for inference."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "awtjIq86JfFF"
      },
      "outputs": [],
      "source": [
        "model = Idefics3ForConditionalGeneration.from_pretrained(\n",
        "    model_id,\n",
        "    device_map=\"auto\",\n",
        "    torch_dtype=torch.bfloat16,\n",
        "    _attn_implementation=\"flash_attention_2\",\n",
        ")\n",
        "\n",
        "processor = AutoProcessor.from_pretrained(model_id)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "7JtKcuuXUGUT"
      },
      "source": [
        "To evaluate the model's performance, we’ll use a sample from the dataset. First, let’s inspect the internal structure of this sample to understand how the data is organized."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "i-eIIdL9lqJJ",
        "outputId": "30cbff2c-49f1-4316-9636-475b5c6697ff"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "[{'role': 'system',\n",
              "  'content': [{'type': 'text',\n",
              "    'text': 'You are a Vision Language Model specialized in interpreting visual data from chart images.\\nYour task is to analyze the provided chart image and respond to queries with concise answers, usually a single word, number, or short phrase.\\nThe charts include a variety of types (e.g., line charts, bar charts) and contain colors, labels, and text.\\nFocus on delivering accurate, succinct answers based on the visual information. Avoid additional explanation unless absolutely necessary.'}]},\n",
              " {'role': 'user',\n",
              "  'content': [{'type': 'image',\n",
              "    'image': <PIL.PngImagePlugin.PngImageFile image mode=RGB size=422x359>},\n",
              "   {'type': 'text',\n",
              "    'text': 'How many values are below 40 in Unfavorable graph?'}]},\n",
              " {'role': 'assistant', 'content': [{'type': 'text', 'text': '6'}]}]"
            ]
          },
          "execution_count": 12,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "train_dataset[1]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "hLaWWJk_RkVU"
      },
      "source": [
        "We’ll use the sample without the system message to assess the VLM's raw understanding. Here’s the input we will use:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Ytnr1rePOamM",
        "outputId": "37ccf628-da62-448f-a45b-3c135928bca2"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "[{'role': 'user',\n",
              "  'content': [{'type': 'image',\n",
              "    'image': <PIL.PngImagePlugin.PngImageFile image mode=RGB size=422x359>},\n",
              "   {'type': 'text',\n",
              "    'text': 'How many values are below 40 in Unfavorable graph?'}]}]"
            ]
          },
          "execution_count": 13,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "train_dataset[1][1:2]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "3IK2HOMuRtY_"
      },
      "source": [
        "Now, let’s take a look at the chart corresponding to the sample. Can you answer the query based on the visual information?\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 376
        },
        "id": "QavnLzjJUbxf",
        "outputId": "e2bc3d15-e2e9-45bf-a848-8d8bb41c0530"
      },
      "outputs": [
        {
          "data": {
            "image/jpeg": "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67WI2sRxkKSQSAcZrAfw/rQ+0aYHspdMurqO5lunlZZ1wUZ1EYQq25kODvGN/Q7eZdb0GeW9nu9PhnR1USkpKCZX3DiNHYxowxu5ADOIyxIU0hnUowdFYZwwyMgg/kelLVTS/tf9mW/27d9p2/Pv27vbdt+XdjGdvGc44xVuqe5K2CiiikMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigChJq0Ef23KSf6Jt8zAHOfTmrIu7cyiLz4vMJxs3jdnGcY+lZF5pF7LdXf2eWAW95s80yA71x/dxx+dPl0aZ7qWVWi+a5ilBJOdqjBHTrXEquIvrH+rv9LHS4Umt/wCtP1uXItXsZfNPnxokb7N7uoDH25qwLy2IJFxCQE3k7x931+nvWYNMvI7fy451Gbl5XVZGTcp6DcBkVDBoM0cVkryR5iLLNjJDoW3AdPUfqaI1cRonH/h9P8/wYOnS/m/r+vzNj7ZakyAXMOYxl/3g+Ue/pSHULIMqm7gDN0HmDJ/WsZtBuTC8QkiAWOVI2ycvvbPzccY/GpL/AEW6niMEEsaweWqpHvZVQg5JwB82fel7fEct+T+tf8rf8APZ0r25jRj1O2e9ltC4SWNguHIG8kZ+XnmiHU7WWLzGkWJTI0Y81guSDjjms+XR7l7qZg0IjmmjkLbjuUJ6DHf61F/YNwMsWikJ8xShldFwzZB+Xk+47+tL2uJT+Hv+at/X+Q/Z0X17fkdDRTY08uJE4+UAcU6u85QooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACis231Np7ySHFqAhbKrcbpcA4zs29/r3qS2vp5LlIbi2EPmxmSPEm5gBj7wwNp5HTPfmoU4sC9RRRVg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",
            "image/png": "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",
            "text/plain": [
              "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=422x359>"
            ]
          },
          "execution_count": 14,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "train_dataset[1][1]['content'][0]['image']"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "gpLfsCUtUW6I"
      },
      "source": [
        "Let’s create a method that takes the model, processor, and sample as inputs to generate the model's answer. This will allow us to streamline the inference process and easily evaluate the VLM's performance."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "_MoRTjFcE8qD"
      },
      "outputs": [],
      "source": [
        "def generate_text_from_sample(model, processor, sample, max_new_tokens=1024, device=\"cuda\"):\n",
        "    # Prepare the text input by applying the chat template\n",
        "    text_input = processor.apply_chat_template(\n",
        "        sample[1:2],  # Use the sample without the system message\n",
        "        add_generation_prompt=True\n",
        "    )\n",
        "\n",
        "    image_inputs = []\n",
        "    image = sample[1]['content'][0]['image']\n",
        "    if image.mode != 'RGB':\n",
        "        image = image.convert('RGB')\n",
        "    image_inputs.append([image])\n",
        "\n",
        "    # Prepare the inputs for the model\n",
        "    model_inputs = processor(\n",
        "        #text=[text_input],\n",
        "        text=text_input,\n",
        "        images=image_inputs,\n",
        "        return_tensors=\"pt\",\n",
        "    ).to(device)  # Move inputs to the specified device\n",
        "\n",
        "    # Generate text with the model\n",
        "    generated_ids = model.generate(**model_inputs, max_new_tokens=max_new_tokens)\n",
        "\n",
        "    # Trim the generated ids to remove the input ids\n",
        "    trimmed_generated_ids = [\n",
        "        out_ids[len(in_ids):] for in_ids, out_ids in zip(model_inputs.input_ids, generated_ids)\n",
        "    ]\n",
        "\n",
        "    # Decode the output text\n",
        "    output_text = processor.batch_decode(\n",
        "        trimmed_generated_ids,\n",
        "        skip_special_tokens=True,\n",
        "        clean_up_tokenization_spaces=False\n",
        "    )\n",
        "\n",
        "    return output_text[0]  # Return the first decoded output text"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "id": "5UeNiMJC_uCk",
        "outputId": "d0d39070-4221-4c38-928d-75ebac8a3479"
      },
      "outputs": [
        {
          "data": {
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "string"
            },
            "text/plain": [
              "' 3.'"
            ]
          },
          "execution_count": 16,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "output = generate_text_from_sample(model, processor, train_dataset[1])\n",
        "output"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ysh0e9DRUfF-"
      },
      "source": [
        "It seems like the model is referencing the wrong line, causing it to fail. To improve its performance, we can fine-tune the model with more relevant data to ensure it better understands the context and provides more accurate responses."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Sw3b76rawti6"
      },
      "source": [
        "**Remove Model and Clean GPU**\n",
        "\n",
        "Before we proceed with training the model in the next section, let's clear the current variables and clean the GPU to free up resources.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "dxkXZuUkvy8j",
        "outputId": "d75c1c7b-04d0-468c-8d45-9a7b3e7f5426"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "GPU allocated memory: 0.01 GB\n",
            "GPU reserved memory: 0.06 GB\n"
          ]
        }
      ],
      "source": [
        "import gc\n",
        "import time\n",
        "\n",
        "def clear_memory():\n",
        "    # Delete variables if they exist in the current global scope\n",
        "    if 'inputs' in globals(): del globals()['inputs']\n",
        "    if 'model' in globals(): del globals()['model']\n",
        "    if 'processor' in globals(): del globals()['processor']\n",
        "    if 'trainer' in globals(): del globals()['trainer']\n",
        "    if 'peft_model' in globals(): del globals()['peft_model']\n",
        "    if 'bnb_config' in globals(): del globals()['bnb_config']\n",
        "    time.sleep(2)\n",
        "\n",
        "    # Garbage collection and clearing CUDA memory\n",
        "    gc.collect()\n",
        "    time.sleep(2)\n",
        "    torch.cuda.empty_cache()\n",
        "    torch.cuda.synchronize()\n",
        "    time.sleep(2)\n",
        "    gc.collect()\n",
        "    time.sleep(2)\n",
        "\n",
        "    print(f\"GPU allocated memory: {torch.cuda.memory_allocated() / 1024**3:.2f} GB\")\n",
        "    print(f\"GPU reserved memory: {torch.cuda.memory_reserved() / 1024**3:.2f} GB\")\n",
        "\n",
        "clear_memory()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "YIZOIVEzQqNg"
      },
      "source": [
        "## 4. Fine-Tune the Model using TRL\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yIrR9gP2z90z"
      },
      "source": [
        "### 4.1 Load the Quantized Model for Training ⚙️\n",
        "\n",
        "Next, we’ll load the quantized model using [bitsandbytes](https://huggingface.co/docs/bitsandbytes/main/en/index). If you want to learn more about quantization, check out [this blog post](https://huggingface.co/blog/merve/quantization) or [this one](https://www.maartengrootendorst.com/blog/quantization/).\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "zm_bJRrXsESg"
      },
      "outputs": [],
      "source": [
        "from transformers import BitsAndBytesConfig\n",
        "\n",
        "# BitsAndBytesConfig int-4 config\n",
        "bnb_config = BitsAndBytesConfig(\n",
        "    load_in_4bit=True,\n",
        "    bnb_4bit_use_double_quant=True,\n",
        "    bnb_4bit_quant_type=\"nf4\",\n",
        "    bnb_4bit_compute_dtype=torch.bfloat16\n",
        ")\n",
        "\n",
        "# Load model and tokenizer\n",
        "model = Idefics3ForConditionalGeneration.from_pretrained(\n",
        "    model_id,\n",
        "    device_map=\"auto\",\n",
        "    torch_dtype=torch.bfloat16,\n",
        "    quantization_config=bnb_config,\n",
        "    _attn_implementation=\"flash_attention_2\",\n",
        ")\n",
        "processor = AutoProcessor.from_pretrained(model_id)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "65wfO29isQlX"
      },
      "source": [
        "### 4.2 Set Up QLoRA and SFTConfig 🚀\n",
        "\n",
        "Next, we’ll configure [QLoRA](https://github.com/artidoro/qlora) for our training setup. QLoRA allows efficient fine-tuning of large models by reducing the memory footprint. Unlike traditional LoRA, which uses low-rank approximation, QLoRA further quantizes the LoRA adapter weights, leading to even lower memory usage and faster training.\n",
        "\n",
        "To boost efficiency, we can also leverage a **paged optimizer** or **8-bit optimizer** during QLoRA implementation. This approach enhances memory efficiency and speeds up computations, making it ideal for optimizing our model without sacrificing performance."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ITmkRHWCKYjf",
        "outputId": "cd621500-ce1f-470d-d1a8-21ab026c36cb"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "trainable params: 11,269,248 || all params: 2,257,542,128 || trainable%: 0.4992\n"
          ]
        }
      ],
      "source": [
        "from peft import LoraConfig, get_peft_model\n",
        "\n",
        "# Configure LoRA\n",
        "peft_config = LoraConfig(\n",
        "    r=8,\n",
        "    lora_alpha=8,\n",
        "    lora_dropout=0.1,\n",
        "    target_modules=['down_proj','o_proj','k_proj','q_proj','gate_proj','up_proj','v_proj'],\n",
        "    use_dora=True,\n",
        "    init_lora_weights=\"gaussian\"\n",
        ")\n",
        "\n",
        "# Apply PEFT model adaptation\n",
        "peft_model = get_peft_model(model, peft_config)\n",
        "\n",
        "# Print trainable parameters\n",
        "peft_model.print_trainable_parameters()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "K5zzHM2GVtxD"
      },
      "source": [
        "We will use Supervised Fine-Tuning (SFT) to improve our model's performance on the specific task. To achieve this, we'll define the training arguments with the [SFTConfig](https://huggingface.co/docs/trl/sft_trainer) class from the [TRL library](https://huggingface.co/docs/trl/index). SFT leverages labeled data to help the model generate more accurate responses, adapting it to the task. This approach enhances the model's ability to understand and respond to visual queries more effectively."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "SbqX1pQUKaSM"
      },
      "outputs": [],
      "source": [
        "from trl import SFTConfig\n",
        "\n",
        "# Configure training arguments using SFTConfig\n",
        "training_args = SFTConfig(\n",
        "    output_dir=\"smolvlm-instruct-trl-sft-ChartQA\",\n",
        "    num_train_epochs=1,\n",
        "    per_device_train_batch_size=4,\n",
        "    gradient_accumulation_steps=4,\n",
        "    warmup_steps=50,\n",
        "    learning_rate=1e-4,\n",
        "    weight_decay=0.01,\n",
        "    logging_steps=25,\n",
        "    save_strategy=\"steps\",\n",
        "    save_steps=25,\n",
        "    save_total_limit=1,\n",
        "    optim=\"adamw_torch_fused\",\n",
        "    bf16=True,\n",
        "    push_to_hub=True,\n",
        "    report_to=\"tensorboard\",\n",
        "    remove_unused_columns=False,\n",
        "    gradient_checkpointing=True,\n",
        "    dataset_text_field=\"\",\n",
        "    dataset_kwargs={\"skip_prepare_dataset\": True},\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "pOUrD9P-y-Kf"
      },
      "source": [
        "### 4.3 Training the Model 🏃"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ucTUbGURV2_-"
      },
      "source": [
        "To ensure that the data is correctly structured for the model during training, we need to define a collator function. This function will handle the formatting and batching of our dataset inputs, ensuring the data is properly aligned for training.\n",
        "\n",
        "👉 For more details, check out the official [TRL example scripts](https://github.com/huggingface/trl/blob/main/examples/scripts/sft_vlm_smol_vlm.py)."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "pAzDovzylQeZ"
      },
      "outputs": [],
      "source": [
        "image_token_id = processor.tokenizer.additional_special_tokens_ids[\n",
        "            processor.tokenizer.additional_special_tokens.index(\"<image>\")]\n",
        "\n",
        "def collate_fn(examples):\n",
        "    texts = [processor.apply_chat_template(example, tokenize=False) for example in examples]\n",
        "\n",
        "    image_inputs = []\n",
        "    for example in examples:\n",
        "      image = example[1]['content'][0]['image']\n",
        "      if image.mode != 'RGB':\n",
        "          image = image.convert('RGB')\n",
        "      image_inputs.append([image])\n",
        "\n",
        "    batch = processor(text=texts, images=image_inputs, return_tensors=\"pt\", padding=True)\n",
        "    labels = batch[\"input_ids\"].clone()\n",
        "    labels[labels == processor.tokenizer.pad_token_id] = -100  # Mask padding tokens in labels\n",
        "    labels[labels == image_token_id] = -100  # Mask image token IDs in labels\n",
        "\n",
        "    batch[\"labels\"] = labels\n",
        "\n",
        "    return batch"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "skbpTuJlV8qN"
      },
      "source": [
        "Now, we will define the [SFTTrainer](https://huggingface.co/docs/trl/sft_trainer), which is a wrapper around the [transformers.Trainer](https://huggingface.co/docs/transformers/main_classes/trainer) class and inherits its attributes and methods. This class simplifies the fine-tuning process by properly initializing the [PeftModel](https://huggingface.co/docs/peft/v0.6.0/package_reference/peft_model) when a [PeftConfig](https://huggingface.co/docs/peft/v0.6.0/en/package_reference/config#peft.PeftConfig) object is provided. By using `SFTTrainer`, we can efficiently manage the training workflow and ensure a smooth fine-tuning experience for our Vision Language Model.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "k_jk-U7ULYtA"
      },
      "outputs": [],
      "source": [
        "from trl import SFTTrainer\n",
        "\n",
        "trainer = SFTTrainer(\n",
        "    model=model,\n",
        "    args=training_args,\n",
        "    train_dataset=train_dataset,\n",
        "    eval_dataset=eval_dataset,\n",
        "    data_collator=collate_fn,\n",
        "    peft_config=peft_config,\n",
        "    tokenizer=processor.tokenizer,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "NlDsh4WvWCx0"
      },
      "source": [
        "Time to Train the Model! 🎉"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 610
        },
        "id": "p1rgMTBDLboO",
        "outputId": "9da86b78-a432-459f-94c3-89025d6059ce"
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:632: UserWarning: torch.utils.checkpoint: the use_reentrant parameter should be passed explicitly. In version 2.5 we will raise an exception if use_reentrant is not passed. use_reentrant=False is recommended, but if you need to preserve the current default behavior, you can pass use_reentrant=True. Refer to docs for more details on the differences between the two variants.\n",
            "  return fn(*args, **kwargs)\n"
          ]
        },
        {
          "data": {
            "text/html": [
              "\n",
              "    <div>\n",
              "      \n",
              "      <progress value='177' max='177' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
              "      [177/177 1:07:11, Epoch 1/1]\n",
              "    </div>\n",
              "    <table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              " <tr style=\"text-align: left;\">\n",
              "      <th>Step</th>\n",
              "      <th>Training Loss</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <td>25</td>\n",
              "      <td>1.645000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>50</td>\n",
              "      <td>0.607100</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>75</td>\n",
              "      <td>0.182700</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>100</td>\n",
              "      <td>0.129700</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>125</td>\n",
              "      <td>0.111500</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>150</td>\n",
              "      <td>0.105600</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>175</td>\n",
              "      <td>0.105200</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table><p>"
            ],
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:632: UserWarning: torch.utils.checkpoint: the use_reentrant parameter should be passed explicitly. In version 2.5 we will raise an exception if use_reentrant is not passed. use_reentrant=False is recommended, but if you need to preserve the current default behavior, you can pass use_reentrant=True. Refer to docs for more details on the differences between the two variants.\n",
            "  return fn(*args, **kwargs)\n",
            "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:632: UserWarning: torch.utils.checkpoint: the use_reentrant parameter should be passed explicitly. In version 2.5 we will raise an exception if use_reentrant is not passed. use_reentrant=False is recommended, but if you need to preserve the current default behavior, you can pass use_reentrant=True. Refer to docs for more details on the differences between the two variants.\n",
            "  return fn(*args, **kwargs)\n",
            "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:632: UserWarning: torch.utils.checkpoint: the use_reentrant parameter should be passed explicitly. In version 2.5 we will raise an exception if use_reentrant is not passed. use_reentrant=False is recommended, but if you need to preserve the current default behavior, you can pass use_reentrant=True. Refer to docs for more details on the differences between the two variants.\n",
            "  return fn(*args, **kwargs)\n",
            "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:632: UserWarning: torch.utils.checkpoint: the use_reentrant parameter should be passed explicitly. In version 2.5 we will raise an exception if use_reentrant is not passed. use_reentrant=False is recommended, but if you need to preserve the current default behavior, you can pass use_reentrant=True. Refer to docs for more details on the differences between the two variants.\n",
            "  return fn(*args, **kwargs)\n",
            "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:632: UserWarning: torch.utils.checkpoint: the use_reentrant parameter should be passed explicitly. In version 2.5 we will raise an exception if use_reentrant is not passed. use_reentrant=False is recommended, but if you need to preserve the current default behavior, you can pass use_reentrant=True. Refer to docs for more details on the differences between the two variants.\n",
            "  return fn(*args, **kwargs)\n",
            "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:632: UserWarning: torch.utils.checkpoint: the use_reentrant parameter should be passed explicitly. In version 2.5 we will raise an exception if use_reentrant is not passed. use_reentrant=False is recommended, but if you need to preserve the current default behavior, you can pass use_reentrant=True. Refer to docs for more details on the differences between the two variants.\n",
            "  return fn(*args, **kwargs)\n",
            "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:632: UserWarning: torch.utils.checkpoint: the use_reentrant parameter should be passed explicitly. In version 2.5 we will raise an exception if use_reentrant is not passed. use_reentrant=False is recommended, but if you need to preserve the current default behavior, you can pass use_reentrant=True. Refer to docs for more details on the differences between the two variants.\n",
            "  return fn(*args, **kwargs)\n"
          ]
        },
        {
          "data": {
            "text/plain": [
              "TrainOutput(global_step=177, training_loss=0.40889345513562025, metrics={'train_runtime': 4055.974, 'train_samples_per_second': 0.698, 'train_steps_per_second': 0.044, 'total_flos': 5.950609352968704e+16, 'train_loss': 0.40889345513562025, 'epoch': 1.0})"
            ]
          },
          "execution_count": 40,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "trainer.train()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "w6CykSCtX-Xa"
      },
      "source": [
        "Let's save the results 💾"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "tE8usZw0lgrL"
      },
      "outputs": [],
      "source": [
        "trainer.save_model(training_args.output_dir)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6yx_sGW42dN3"
      },
      "source": [
        "## 5. Testing the Fine-Tuned Model 🔍\n",
        "\n",
        "Now that our Vision Language Model (VLM) is fine-tuned, it's time to evaluate its performance! In this section, we'll test the model using examples from the ChartQA dataset to assess how accurately it answers questions based on chart images. Let's dive into the results and see how well it performs! 🚀"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "i0KEPu6qYKqn"
      },
      "source": [
        "Let's clean up the GPU memory to ensure optimal performance 🧹"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Ttx6EK8Uy8t0",
        "outputId": "e671dad3-bddc-4206-dcb9-78a55cc242c0"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "GPU allocated memory: 16.34 GB\n",
            "GPU reserved memory: 18.69 GB\n"
          ]
        }
      ],
      "source": [
        "clear_memory()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "HwCTPHsfujn2"
      },
      "source": [
        "We will reload the base model using the same pipeline as before."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "EFqTNUud2lA7"
      },
      "outputs": [],
      "source": [
        "model = Idefics3ForConditionalGeneration.from_pretrained(\n",
        "    model_id,\n",
        "    device_map=\"auto\",\n",
        "    torch_dtype=torch.bfloat16,\n",
        "    _attn_implementation=\"flash_attention_2\",\n",
        ")\n",
        "\n",
        "processor = AutoProcessor.from_pretrained(model_id)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "lRAPEYKkYSkB"
      },
      "source": [
        "We will attach the trained adapter to the pretrained model. This adapter contains the fine-tuning adjustments made during training, enabling the base model to leverage the new knowledge while keeping its core parameters intact. By integrating the adapter, we enhance the model's capabilities without altering its original structure."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "mQi2xBXk4sHe"
      },
      "outputs": [],
      "source": [
        "adapter_path = \"sergiopaniego/smolvlm-instruct-trl-sft-ChartQA\"\n",
        "model.load_adapter(adapter_path)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "swibyq5AWctZ"
      },
      "source": [
        "Let's evaluate the model on an unseen sample.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "czZSBgnoef1E",
        "outputId": "515a198d-55d9-4494-8fb7-7193c899b3d3"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "[{'role': 'system',\n",
              "  'content': [{'type': 'text',\n",
              "    'text': 'You are a Vision Language Model specialized in interpreting visual data from chart images.\\nYour task is to analyze the provided chart image and respond to queries with concise answers, usually a single word, number, or short phrase.\\nThe charts include a variety of types (e.g., line charts, bar charts) and contain colors, labels, and text.\\nFocus on delivering accurate, succinct answers based on the visual information. Avoid additional explanation unless absolutely necessary.'}]},\n",
              " {'role': 'user',\n",
              "  'content': [{'type': 'image',\n",
              "    'image': <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=850x600>},\n",
              "   {'type': 'text', 'text': 'Which line represents data about boys?'}]}]"
            ]
          },
          "execution_count": 57,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "test_dataset[20][:2]"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 617
        },
        "id": "ATuQ6ZS6eirO",
        "outputId": "076831d3-52c3-4506-9a09-47b46a2d5d01"
      },
      "outputs": [
        {
          "data": {
            "image/png": "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EIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAACEIBAixNASLV4AZJ8CEAAAhCAAAQgAAEIQKDxBBBSjWdOjBCAAAQgAAEIQAAC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6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ6qjiJrMQgAAEIAABCEAAAhCAQC0IIKRqQZEwIAABCEAAAhCAAAQgAIGOIoCQ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hiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVKhiAAAQhAAAIQgAAEIACBehNASNWbMOFDAAIQgAAEIAABCEAAAm1HACHVdkVK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",
            "text/plain": [
              "<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=850x600>"
            ]
          },
          "execution_count": 58,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "test_dataset[20][1]['content'][0]['image']"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "id": "9yHJMKHNWcMc",
        "outputId": "fef11c29-f8ed-4301-9f16-e4b963587988"
      },
      "outputs": [
        {
          "data": {
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "string"
            },
            "text/plain": [
              "' Child Labor (Boys, World, 2000-2012)'"
            ]
          },
          "execution_count": 64,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "output = generate_text_from_sample(model, processor, test_dataset[20])\n",
        "output"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "NUr6jmnAIlh1"
      },
      "source": [
        "The model has successfully learned to respond to the queries as specified in the dataset. We've achieved our goal! 🎉✨"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Z_Ns3p0Dhjbr"
      },
      "source": [
        "💻 I’ve developed an example application to test the model, which you can find [here](https://huggingface.co/spaces/sergiopaniego/SmolVLM-trl-sft-ChartQA). You can easily compare it with another Space featuring the pre-trained model, available [here](https://huggingface.co/spaces/HuggingFaceTB/SmolVLM)."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 822
        },
        "id": "dYJJ6ASKhJ5k",
        "outputId": "a45e434e-b6e8-4a7d-941d-ffecdce314b2"
      },
      "outputs": [
        {
          "data": {
            "text/html": [
              "\n",
              "        <iframe\n",
              "            width=\"1000\"\n",
              "            height=\"800\"\n",
              "            src=\"https://sergiopaniego-smolvlm-trl-sft-chartqa.hf.space\"\n",
              "            frameborder=\"0\"\n",
              "            allowfullscreen\n",
              "            \n",
              "        ></iframe>\n",
              "        "
            ],
            "text/plain": [
              "<IPython.lib.display.IFrame at 0x7adbb46f9120>"
            ]
          },
          "execution_count": 25,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "from IPython.display import IFrame\n",
        "\n",
        "IFrame(src=\"https://sergiopaniego-smolvlm-trl-sft-chartqa.hf.space\", width=1000, height=800)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Wgv0-sy8TLPE"
      },
      "source": [
        "## 6. Continuing the Learning Journey 🧑‍🎓️\n",
        "\n",
        "To further enhance your skills with multimodal models, I recommend checking out the resources shared at the beginning of this notebook or revisiting the section with the same name in [Fine-Tuning a Vision Language Model (Qwen2-VL-7B) with the Hugging Face Ecosystem (TRL)](https://huggingface.co/learn/cookbook/fine_tuning_vlm_trl).\n",
        "\n",
        "These resources will help deepen your knowledge and expertise in multimodal learning."
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "gpuType": "L4",
      "machine_shape": "hm",
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
